package com.mrd.frame.service;

import java.util.List;

import com.mrd.frame.domain.AccessConfig;
import com.mrd.frame.domain.Config;

public interface AccessConfigService {
	/**
	 * 根据id删除
	 * @param accessConfigId
	 * @return 数据库受影响的条数
	 */
    int deleteByPrimaryKey(String accessConfigId);
    /**
	 * 新增一条数据（id自动生成）
	 * @param AccessConfig
	 * @return 数据库受影响的条数
	 */
    int insert(AccessConfig record);
    /**
	 * 新增一条数据（id自动生成，null值不插入）
	 * @param AccessConfig
	 * @return 数据库受影响的条数
	 */
    int insertSelective(AccessConfig record);
    /**
	 * 根据id查询
	 * @param accessConfigId
	 * @return AccessConfig
	 */
    AccessConfig selectByPrimaryKey(String accessConfigId);
    /**
	 * 更新数据（更新对象中的非null属性）
	 * @param AccessConfig
	 * @return 数据库受影响的条数
	 */
    int updateByPrimaryKeySelective(AccessConfig record);
    /**
	 * 更新数据（除id外全部属性更新）
	 * @param AccessConfig
	 * @return 数据库受影响的条数
	 */
    int updateByPrimaryKey(AccessConfig record);
    /**
     * 根据商户帐号和支付渠道获取接入配置
     * @param userKey
     * @param payChannel
     */
    AccessConfig selectByUserKeyAndPayChannel(String userKey,String payChannel);
    /**
     * 批量删除
     * @param ids（用“,”进行分隔）
     * @return 数据库受影响的条数
     */
	int deleteByPrimaryKeys(String ids);
	/**
	 * 根据非null属性查询
	 * @param AccessConfig
	 * @return 所有满足条件的数据
	 */
	List<AccessConfig> selectSelective(AccessConfig accessConfig);
	
    /**
     * 查询所有Config配置，不包括子表和白名单
     * @author han 
     * @return Config
     */
    void initAccessConfig();
}